﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using ModeloDesenvolvimento;

/*ESCRITO DIA 04/01/2012*/
namespace Poligas_ERP.Classes
{
    public class Situacoes
    {
        SqlConnection cnx = new SqlConnection();
        SqlCommand cmd = new SqlCommand();
        //SqlDataReader dr;
        DataTable tbRetornaSitucaoes = new DataTable();
        DataTable tbLista = new DataTable();
        DataTable tbCarregaTps = new DataTable();

        Db db = new Db();
        Util util = new Util();

        public Situacoes() { }

        public DataTable SituacoesPesquisa()
        {
            try
            {
                cnx = db.AbreConexao("strConexao");
                cmd = db.getCommand(cnx);

                cmd.CommandText = "spSituacoesSelectPesquisa";

                tbRetornaSitucaoes.Clear();
                tbRetornaSitucaoes.Load(cmd.ExecuteReader());
            }
            catch
            {

            }
            finally
            {
                db.FechaConexao(cnx);
            }
            return tbRetornaSitucaoes;
        }
        public DataTable CarregaTipoSituacoes()
        {
            try
            {
                cnx = db.AbreConexao("strConexao");
                cmd = db.getCommand(cnx);

                cmd.CommandText = "spTipoSituacoesSelectAll";

                tbCarregaTps.Clear();
                tbCarregaTps.Load(cmd.ExecuteReader());
            }
            catch
            { }
            finally
            {
                db.FechaConexao(cnx);
            }
            return tbCarregaTps;
        }
        public DataTable RecuperarDadosPorCodigo(Int32 CodSituacao)
        {
            try
            {
                cnx = db.AbreConexao("strConexao");
                cmd = db.getCommand(cnx);
                
                cmd.Parameters.AddWithValue("@CodSituacao", CodSituacao);

                cmd.CommandText = "spSituacoesSelectCodigo";

                tbRetornaSitucaoes.Clear();
                tbRetornaSitucaoes.Load(cmd.ExecuteReader());
            }
            catch
            {

            }
            finally
            {
                db.FechaConexao(cnx);
            }
            return tbRetornaSitucaoes;
        }
        public DataTable LocalizarDados(String Pesquisar)
        {
            try
            {
                cnx = db.AbreConexao("strConexao");
                cmd = db.getCommand(cnx);

                cmd.Parameters.AddWithValue("@Descricao", Pesquisar);

                cmd.CommandText = "spSituacoesSelectPesquisa";

                tbLista.Clear();
                tbLista.Load(cmd.ExecuteReader());
            }
            catch
            {
            }
            finally
            {
                db.FechaConexao(cnx);
            }
            return tbLista;
        }
        public Boolean Inserir(Boolean Ativo, String Descricao, Int32 CodTiposSituacao)
        {
            Boolean erro = false;
            try
            {
                cnx = db.AbreConexao("strConexao");
                cmd = db.getCommand(cnx);

                cmd.Parameters.AddWithValue("@CodTiposSituacao", CodTiposSituacao);
                cmd.Parameters.AddWithValue("@Descricao", Descricao);
                cmd.Parameters.AddWithValue("@Ativo", Ativo);

                cmd.CommandText = "spSituacoesInsert";
                cmd.ExecuteNonQuery();
            }
            catch
            {
                erro = true;
            }
            finally
            {
                db.FechaConexao(cnx);
            }
            return erro;
           
        }
        public Boolean Alterar(Int32 CodSituacao, Boolean Ativo, String Descricao, Int32 CodTiposSituacao)
        {
            Boolean erro = false;
            try
            {
                cnx = db.AbreConexao("strConexao");
                cmd = db.getCommand(cnx);

                cmd.Parameters.AddWithValue("@CodSituacao", CodSituacao);
                cmd.Parameters.AddWithValue("@CodTiposSituacao", CodTiposSituacao);
                cmd.Parameters.AddWithValue("@Descricao", Descricao);
                cmd.Parameters.AddWithValue("@Ativo", Ativo);

                cmd.CommandText = "spSituacoesUpdate";
                cmd.ExecuteNonQuery();
            }
            catch
            {
                erro = true;
            }
            finally
            {
                db.FechaConexao(cnx);
            }
            return erro;

        }
        public Boolean Excluir(Int32 CodSituacao)
        {
            Boolean sucesso = true;

            if(CodSituacao < 0)
            {
                sucesso = false;
            }
            else
            {
                try
                {
                    cnx = db.AbreConexao("strConexao");
                    cmd = db.getCommand(cnx);

                    cmd.Parameters.AddWithValue("@CodSituacao", CodSituacao);
                    cmd.CommandText = "spSituacoesDelete";

                    cmd.ExecuteNonQuery();
                }
                catch
                {

                    sucesso = false;
                }
                finally
                {
                    db.FechaConexao(cnx);
                }
            }
            return sucesso;
        }
    }
}
